#!/bin/bash

# 最终验证环境变量解析功能

echo "=== 环境变量解析功能最终验证 ==="

# 1. 检查moparse可执行文件
if [ ! -f "/home/apachee/trunk/Crystal/CrystalFlowAnalyzer/modb/moparse" ]; then
    echo "错误: moparse可执行文件不存在"
    exit 1
fi

echo "✓ moparse可执行文件存在"

# 2. 检查测试文件
if [ ! -f "/home/apachee/trunk/Crystal/CrystalFlowAnalyzer/modb/small_usb_test.list" ]; then
    echo "错误: 测试文件列表不存在"
    exit 1
fi

echo "✓ 测试文件列表存在"

# 3. 创建验证用的简单Verilog文件
cat > test_module.v << 'EOF'
module test_module (
    input clk,
    input rst_n,
    output reg [7:0] data
);

parameter WIDTH = 8;

always @(posedge clk or negedge rst_n) begin
    if (!rst_n)
        data <= 8'h00;
    else
        data <= data + 1;
end

endmodule
EOF

echo "✓ 创建测试Verilog模块"

# 4. 创建包含环境变量的测试列表
cat > env_test_list.list << 'EOF'
$PROJ_ROOT/test_module.v
EOF

echo "✓ 创建环境变量测试列表"

# 5. 测试环境变量解析
echo "测试环境变量解析..."
cd /home/apachee/trunk/Crystal/CrystalFlowAnalyzer/modb
PROJ_ROOT=/home/apachee/trunk/Crystal/CrystalFlowAnalyzer/modb \
    ./moparse -f env_test_list.list -o env_test_result.modb

# 6. 检查结果
if [ -f "env_test_result.modb" ]; then
    echo "✓ 成功生成modb文件"
    echo "✓ 环境变量解析功能正常工作"
    
    # 显示基本信息
    echo "模块信息:"
    PROJ_ROOT=/home/apachee/trunk/Crystal/CrystalFlowAnalyzer/modb \
        ./moparse -s env_test_result.modb
    
    # 清理测试文件
    rm -f test_module.v env_test_list.list env_test_result.modb
    echo "✓ 清理测试文件完成"
else
    echo "✗ 未能生成modb文件，环境变量解析可能存在问题"
    rm -f test_module.v env_test_list.list
    exit 1
fi

echo "=== 环境变量解析功能验证完成 ==="